package managedBean;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import javax.annotation.PostConstruct;
import javax.ejb.EJB;

import ejb.Usuario;
import ejb.UsuarioFacadeRemote;

public class ManterUsuario {
	@EJB
	private UsuarioFacadeRemote tfr;

	
	private Usuario currentItem = new Usuario();
    private Usuario user = new Usuario();
	private Integer currentRow;
	private Set<Integer> updateRowByAjax = new HashSet<Integer>();
	private List<Usuario> listaUsuario = new ArrayList<Usuario>();

	
	@PostConstruct
	public String carregarUsuario(){
		Calendar calendar = Calendar.getInstance();
		currentItem.setDataNasc(calendar.getTime());
		listaUsuario = tfr.findAll();
		return null;
	}
	
	public String redirecionaUsuario(){
		return "Usuario";
	}
	
	public String buscarUsuario(){
		listaUsuario = tfr.findAll();
		return null;
	}

	public String deletarUsuario() {
		tfr.delete(currentItem);
		carregarUsuario();
		clean();
		return null;
	}

	
	public String salvarUsuario() {
		tfr.save(currentItem);
		carregarUsuario();
		clean();
		return null;
	}
	
	
	public String updateUsuario() {
		tfr.update(currentItem);
		buscarUsuario();
		clean();
		return null;
	}

	public String clean() {
		currentItem = new Usuario();
		user = new Usuario();
		Calendar calendar = Calendar.getInstance();
		currentItem.setDataNasc(calendar.getTime());
		
		return null;
	}

	public Usuario getCurrentItem() {
		return currentItem;
	}

	public void setCurrentItem(Usuario currentItem) {
		this.currentItem = currentItem;
	}

	public void setUser(Usuario user) {
		this.user = user;
	}

	public Usuario getUser() {
		return user;
	}

	public Integer getCurrentRow() {
		return currentRow;
	}

	public void setCurrentRow(Integer currentRow) {
		this.currentRow = currentRow;
	}

	public Set<Integer> getUpdateRowByAjax() {
		return updateRowByAjax;
	}

	public void setUpdateRowByAjax(Set<Integer> updateRowByAjax) {
		this.updateRowByAjax = updateRowByAjax;
	}

	public List<Usuario> getListaUsuario() {
		return listaUsuario;
	}

	public void setListaUsuario(List<Usuario> listaUsuario) {
		this.listaUsuario = listaUsuario;
	}
	
	public String verificaSenha(){

		return null;
	
	}

	
}